package org.luckyjourney.limit;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @description:
 * @Author: Fxy
 * @CreateTime: 2023-11-07 09:48
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Limit {
//限流的数量
    int limit() default 0;
//时间范围内的限流时间
    long time() default 0;
//用于限流的键值
    String key() default "";
//"系统服务繁忙";：在限流时返回的提示消息，默认为 "系统服务繁忙"。
    String msg() default "系统服务繁忙";
}
/**
 通过在方法上使用 @Limit 注解，并配置相应的属性，可以实现对方法的限流控制。在运行时，可以根据注解中设置的限流规则来限制方法的调用次数和频率，以保护系统免受过载的影响。
 */
